<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

require_once APPLICATION_PATH . '/models/Single/BaseEntity.php';
require_once APPLICATION_PATH . '/models/DbTable/Ordenes_De_Servicio.php';

/**
 * Description of OrdenDeServicioEntity
 *
 * @author kristian
 */
class Spalm_Model_Single_OrdenDeServicioEntity extends Spalm_Model_Single_BaseEntity{
    private $estado;
    private $cliente;
    private $detalleFallasInformadas;
    private $descripcionEquipos;
    private $serviciosRealizados;

    public function  __construct() {
        $this->setMapper(new Spalm_Model_Mapper_OrdenesDeServicioMapper(new Spalm_Model_DbTable_OrdenesDeServicio()));
    }

    public function getEstado() {
        return $this->estado;
    }

    public function getCliente() {
        return $this->cliente;
    }

    public function getDetalleFallasInformadas() {
        return $this->detalleFallasInformadas;
    }

    public function getDescripcionEquipos() {
        return $this->descripcionEquipos;
    }

    public function getServiciosRealizados() {
        return $this->serviciosRealizados;
    }

    public function setEstado($estado) {
        $this->estado = $estado;
    }

    public function setCliente($cliente) {
        $this->cliente = $cliente;
    }

    public function setDetalleFallasInformadas($fallas) {
        $this->detalleFallasInformadas = $fallas;
    }

    public function setDescripcionEquipos($equipos) {
        $this->descripcionEquipos = $equipos;
    }

    public function setServiciosRealizados($servicios) {
        $this->serviciosRealizados = $servicios;
    }

    public function getTecnicos() {
        $tecnicos = array();

        $usuarioPorOrdenModel = new Spalm_Model_Single_UsuarioPorOrdenDeServicioEntity();
        $consultaUPOS = $usuarioPorOrdenModel->getMapper()->getDbtable()->select();
        $consultaUPOS->where('orden_de_servicio_id = ?',$this->getPK());
        $resultados = $usuarioPorOrdenModel->fetchAll($consultaUPOS);

        foreach ($resultados as $usuarioActual) {
            $tecnicos[] = $usuarioActual->getUsuario();
        }

        return $tecnicos;
    }

    public function isRemovable() {
        $salida = true;

        /*
         * consultas
         */

        if ($salida){
//            $clientesModel = new Spalm_Model_Single_ClienteEntity();
//            $selectCliente = $clientesModel->getMapper()->getDbTable()->select();
//            $selectCliente->where('localidad_id = ?',$this->getPK());
//
//            $clientes = $clientesModel->fetchAll($selectCliente);
//
//            $salida = $salida && (count($clientes) == 0);
        }

        if ($salida){
//            $usuariosModel = new Spalm_Model_Single_UsuarioEntity();
//            $selectUsuario = $usuariosModel->getMapper()->getDbTable()->select();
//            $selectUsuario->where('localidad_id = ?',$this->getPK());
//
//            $usuarios = $usuariosModel->fetchAll($selectUsuario);
//
//            $salida = $salida && (count($usuarios) == 0);
        }




        /*
         * evaluaciones
         */



        return $salida;
    }
}
?>
